home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- ** **
- ** Module: BoxPaint_cursor3d.h **
- ** **
- ** **
- ** Purpose: To implement a 3D cursor object **
- ** **
- ** **
- ** Author: Michael Bishop **
- ** **
- ** Copyright (C) 1996-1997 Apple Computer, Inc. All rights reserved. **
- ** **
- ** **
- *****************************************************************************/
-
- #ifndef _BP_CURSOR3D_H_
- #define _BP_CURSOR3D_H_
-
- #include "QD3D.h"
- #include "QD3DCamera.h"
-
- /******************************************************************************
- ** **
- ** Structures **
- ** **
- *****************************************************************************/
-
- /*
- ** NOTE: Before you pass this into the _SetPlacement function, make sure your
- ** vectors are normalized and orthogonal
- */
-
- typedef struct _cursor3dPlacement {
- TQ3Point3D cursorLocation; /* The center of the cursor */
- TQ3Vector3D toward; /* what the cursor is aiming at */
- TQ3Vector3D up; /* the up vector */
- } Cursor3DPlacement;
-
-
- typedef struct _cursor3d Cursor3D, *Cursor3DPtr, **Cursor3DHdl;
-
-
- /******************************************************************************
- ** **
- ** PUBLIC FUNCTIONS **
- ** **
- *****************************************************************************/
-
- Cursor3DHdl Cursor3D_New(
- TQ3GroupObject theModel);
-
- TQ3Status Cursor3D_Dispose(
- Cursor3DHdl );
-
- void Cursor3D_Show(
- Cursor3DHdl theCursor);
-
- void Cursor3D_Hide(
- Cursor3DHdl theCursor);
-
- TQ3Status Cursor3D_SetPlacement(
- Cursor3DHdl theCursor3D,
- Cursor3DPlacement *theCursor3DPlacement) ;
-
- TQ3Status Cursor3D_Submit(
- Cursor3DPtr theCursor3D,
- TQ3ViewObject theView) ;
-
- /*
- ** Scales the cursor to a percentage with respect to a group
- */
- TQ3Status Cursor3D_ChangeSizeAgainstGroup(
- Cursor3DHdl theCursor3D,
- TQ3DisplayGroupObject theModel,
- TQ3ViewObject theView,
- float theScale);
-
-
- #endif
-